﻿using ET.Score.Service.Enums;
using MySql.Data.MySqlClient;
using Newtonsoft.Json;
using NPOI.SS.Formula.Functions;
using RabbitMQ.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ET_DbCommon.Model
{
    public class UserPostVo
    {
        [JsonProperty("postId")]
        public string PostId { get; set; }

        [JsonProperty("postName")]
        public string PostName { get; set; }

        [JsonProperty("realname")]
        public string Realname { get; set; }

        [JsonProperty("userId")]
        public string UserId { get; set; }
        /// <summary>
        /// 角色的位置信息
        /// </summary>
        [JsonIgnore] 
        public string PostPositionInfo { get; set;}
        [JsonIgnore] 
        public string SerialNumber { get; set;}
        [JsonIgnore]
        public string LoginInfo { get; set; }
        [JsonIgnore]
        public LoginType LoginType { get; set; }
    }

    public class UserListVo
    {
        [JsonProperty("groupNum")]
        public string GroupNum { get; set; }

        [JsonProperty("userPostVoList")]
        public List<UserPostVo> UserPostVoList { get; set; }
        public ExamModel MyExam { get; set; }//当前考试
        [JsonIgnore]
        public Exam_TestQuestionModel CurrentTestQuestion { get; set; }//当前试卷
        [JsonIgnore]
        public Exam_TestQuestion_TaskModel CurrentTask { get; set; }//当前任务
        [JsonIgnore]
        public Exam_TestQuestion_Task_StepModel CurretnStep { get; set; }//当前步骤

        [JsonIgnore]
        public bool HasInjectScene { get; set; }//是否已注入场景

        [JsonIgnore]
        public byte[] TrainInformation { get; set; }//列车详细信息
        [JsonIgnore]
        public string VirtualTime { get; set; }
        [JsonIgnore]
        public bool ChooseStatus { get; set; }
    }

    public class Examination
    {
        [JsonProperty("currentTime")]
        public long CurrentTime { get; set; }

        [JsonProperty("players")]
        public List<string> Players { get; set; }

        [JsonProperty("earliestTime")]
        public long EarliestTime { get; set; }

        [JsonProperty("endTime")]
        public long EndTime { get; set; }

        [JsonProperty("id")]
        public string Id { get; set; }

        [JsonProperty("userListVos")]
        public List<UserListVo> UserListVos { get; set; }

        [JsonProperty("BeginFlag")]
        public bool BeginFlag { get; set; }

        [JsonProperty("type")]
        public string Type { get; set; }

        [JsonProperty("paper_id")]
        public int PaperId { get; set; }

        [JsonIgnore]
        public bool IsCompletePaper { get; set; }
    }
}
